home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / RxMUI / Examples / SB2.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  2004-01-31  |  6.3 KB  |  215 lines

  1. /* Speedbar beauty */
  2.  
  3. signal on halt
  4. signal on break_c
  5.  
  6. call init
  7. call createApp
  8. call handleApp
  9.  
  10. /***********************************************************************/
  11. init: procedure expose global.
  12.     l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
  13.     if AddLibrary("rexxsupport.library","rxmui.library")~=0 then exit
  14.     call ProgDir()
  15.     return
  16. /***********************************************************************/
  17. handleApp: procedure expose global.
  18.     do forever
  19.         call NewHandle("app","h",4096)
  20.         if and(h.signals,4096)>0 | h.event="QUIT" then exit
  21.         interpret h.event
  22.     end
  23. /***********************************************************************/
  24. createApp: procedure expose global.
  25.     app.Title="Speedbar"
  26.     app.Version="$VER: Speedbar2 1.0 (24.2.2002)"
  27.     app.Copyright="©2002, alfie"
  28.     app.Author="alfie"
  29.     app.Description="Speedbar example"
  30.     app.Base="SPEEDBAR"
  31.     app.SubWindow="win"
  32.      win.ID="MAIN"
  33.      win.Title="Speedbar Example"
  34.      win.Contents="mgroup"
  35.  
  36.       mgroup.0="speedbar"
  37.        speedbar.class="speedbar"
  38.        speedbar.Horiz=1
  39.        speedbar.ImagesDrawer="PROGDIR:Pics"
  40.        speedbar.ViewMode="Gfx"
  41.        speedbar.Layout="Left"
  42.  
  43.         i=0
  44.  
  45.         speedbar.i.Text="_Back"
  46.         speedbar.i.Img="back"
  47.         speedbar.i.Help="Button"
  48.         i=i+1
  49.  
  50.         speedbar.i.Text="_Forward"
  51.         speedbar.i.Img="forward"
  52.         speedbar.i.Help="Button"
  53.         i=i+1
  54.  
  55.         speedbar.i.Text="V_iew"
  56.         speedbar.i.Img="reload"
  57.         speedbar.i.Help="Immediate"
  58.         speedbar.i.Flags="Immediate"
  59.         i=i+1
  60.  
  61.         speedbar.i.Img="Spacer"
  62.         i=i+1
  63.  
  64.         speedbar.i.Text="Stop"
  65.         speedbar.i.Img="stop"
  66.         speedbar.i.Help="Toggle"
  67.         speedbar.i.Flags="Toggle"
  68.         i=i+1
  69.  
  70.         speedbar.i.Img="Spacer"
  71.         i=i+1
  72.  
  73.         speedbar.i.Img="home"
  74.         speedbar.i.Text="Home"
  75.         speedbar.i.Help="MutualExclude with Find"
  76.         speedbar.i.Flags="Selected"
  77.         speedbar.i.Exclude=2**(i+1)
  78.         i=i+1
  79.  
  80.         speedbar.i.Text="Find"
  81.         speedbar.i.Img="find"
  82.         speedbar.i.Help="MutualExclude with Home"
  83.         speedbar.i.Exclude=2**(i-1)
  84.         i=i+1
  85.  
  86.      mgroup.1="zg"
  87.        zg.class="group"
  88.  
  89.         zg.0="vg"
  90.          vg.class="Group"
  91.          vg.Frame="Group"
  92.          vg.BackGround="GroupBack"
  93.          vg.FrameTitle="Config"
  94.  
  95.           vg.0=vspace()
  96.  
  97.           vg.1="hg"
  98.            hg.class="Group"
  99.            hg.Horiz=1
  100.  
  101.             hg.0=hwspace(5)
  102.  
  103.             hg.1="cgf"
  104.  
  105.             hg.1="cfg"
  106.              cfg.class="Group"
  107.  
  108.               cfg.0=MakeObj(,"Hgroup",,
  109.                   Label("_Appearance"),,
  110.                   MakeObj("vm","Cycle","Icons and Text|Icons|Text","a",1),,
  111.                   HWSpace(5),,
  112.                   Label("_Label position"),,
  113.                   MakeObj("lp","Cycle","Down|Up|Right|Left","l"))
  114.  
  115.               cfg.1="cfg1"
  116.                cfg1.class="group"
  117.                cfg1.horiz=1
  118.                 cfg1.0=HSpace()
  119.  
  120.                 cfg1.1=label("_BorderLess")
  121.                 cfg1.2=checkmark("BL",,'b')
  122.  
  123.                 cfg1.3=HSpace()
  124.  
  125.                 cfg1.4=label("_RaisingFrame")
  126.                 cfg1.5=checkmark("RF",,'r')
  127.  
  128.                 cfg1.6=HSpace()
  129.  
  130.                 cfg1.7=label("_SmallImages")
  131.                 cfg1.8=checkmark("SI",,'s')
  132.  
  133.                 cfg1.9=HSpace()
  134.                 cfg1.10=label("Sunn_y")
  135.                 cfg1.11=checkmark("SN",,'y')
  136.  
  137.                 cfg1.12=HSpace()
  138.  
  139.                 cfg1.13=label("Bar")
  140.                 cfg1.14=checkmark("BR",,'')
  141.  
  142.                 cfg1.15=HSpace()
  143.  
  144.             hg.2=hwspace(5)
  145.  
  146.           vg.2=vspace()
  147.  
  148.         zg.1="rg"
  149.          rg.class="group"
  150.          rg.Rows=2
  151.          rg.Frame="Group"
  152.          rg.BackGround="GroupBack"
  153.          rg.FrameTitle="Control"
  154.           rg.0=hspace()
  155.           rg.1=Label("Disable Back")
  156.           rg.2=checkmark("cm1")
  157.           rg.3=hspace()
  158.           rg.4=Label("Select View")
  159.           rg.5=checkmark("cm2")
  160.           rg.6=hspace()
  161.           rg.7=hspace()
  162.           rg.8=label("Show Forward")
  163.           rg.9=checkmark("cm3",1,'w')
  164.           rg.10=hspace()
  165.           rg.11=label("Horiz")
  166.           rg.12=checkmark("horiz",,'')
  167.           rg.13=hspace()
  168.  
  169.     if NewObj("Application","app")>0 then exit
  170.  
  171.     call get("speedbar","nobrushes","nb")
  172.     call set("vm","disabled",nb)
  173.     call set("sn","disabled",nb)
  174.     call set("si","disabled",nb)
  175.  
  176.     call Notify("win","closerequest",1,"app","returnid","quit")
  177.     call Notify("bl","selected","everytime","speedbar","set","borderless","triggervalue")
  178.     call Notify("rf","selected","everytime","speedbar","set","raisingframe","triggervalue")
  179.     call Notify("si","selected","everytime","speedbar","set","smallimages","triggervalue")
  180.     call Notify("sn","selected","everytime","speedbar","set","sunny","triggervalue")
  181.     call Notify("br","selected","everytime","speedbar","set","barspacer","triggervalue")
  182.     call Notify("vm","Active","EveryTime","SpeedBar","Set","ViewMode","TriggerValue")
  183.     call Notify("lp","Active","EveryTime","SpeedBar","Set","LabelPosition","TriggerValue")
  184.  
  185.     call Notify("speedbar","active","EveryTime","app","return","say 'Active:'h.active","triggerattr")
  186.  
  187.     call Notify("cm1","selected","EveryTime","speedbar","SBSet",0,"Disabled","TriggerValue")
  188.     call Notify("cm2","selected","EveryTime","speedbar","SBSet",2,"Selected","TriggerValue")
  189.     call Notify("cm3","selected","EveryTime","speedbar","SBSet",1,"ShowMe","TriggerValue")
  190.     call Notify("horiz","selected","EveryTime","app","return","call changehoriz(h.selected)","TriggerAttr")
  191.  
  192.     call SBNotify("speedbar",0,"pressed",0,"app","return","say 'Pressed:' 0")
  193.     call SBNotify("speedbar",1,"pressed",0,"app","return","say 'Pressed:' 1")
  194.  
  195.     call SBNotify("speedbar",2,"selected","EveryTime","cm2","set","selected","TriggerValue")
  196.  
  197.     call SBNotify("speedbar",0,"disabled",0,"app","return","say 'Enabled:'0")
  198.     call SBNotify("speedbar",0,"disabled",1,"app","return","say 'Disabled:'0")
  199.  
  200.     call set("win","open",1)
  201.  
  202.     return
  203. /***********************************************************************/
  204. halt:
  205. break_c:
  206.     exit
  207. /**************************************************************************/
  208. changehoriz: procedure
  209. parse arg h
  210.     call DoMethod("mgroup","InitChange")
  211.     call set("mgroup","horiz",h,0)
  212.     call set("speedbar","horiz",~h,0)
  213.     call DoMethod("mgroup","ExitChange")
  214.     return
  215.